/// Coder: Jose Ricardo Mello Viana - 2008
/// Bugs? e-mail me: zezim.ricardo@gmail.com

#ifndef SKELETONEXPORTER_H_
#define SKELETONEXPORTER_H_

#include "skeleton.h"
#include "typedefs.h"
#include "utils.h"

/// This class implements an exporter of skeletons
/// and motion data files
class SkeletonExporter {

public:
   /// Constructor Default
   SkeletonExporter();

   /// Destructor Default
   virtual ~SkeletonExporter();

   /// Exporter of a file
   /// @param s given skeleton
   /// @param filename name of a file
   void write(Skeleton* s, string filename);

   /// Exporter of a file
   /// @param s given skeleton
   /// @param filename name of a file
   /// @param id type of file
   void write(Skeleton* s, string filename, FileType id);

   /// Exporter of a ASF file
   /// @param s given skeleton
   /// @param filename name of a file
   void writeASF(Skeleton* s, string filename);

   /// Exporter of a BVH file
   /// @param s given skeleton
   /// @param filename name of a file
   void writeBVH(Skeleton* s, string filename);
};

#endif /*SKELETONEXPORTER_H_*/
